package com.yfp.client.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * @TableName order_combo
 */
@TableName(value = "order_combo")
@Data
public class OrderCombo implements Serializable {
    /**
     *
     */
    @TableId
    private String orderId;

    /**
     *
     */
    private String userId;

    /**
     *
     */
    private String machineId;

    /**
     *
     */
    private String machineName;

    /**
     *
     */
    private Long couponId;

    /**
     * 实付金额-各种优惠后的金额
     */
    @Schema(description = "实付金额-各种优惠后的金额")
    private String price;

    /**
     *
     */
    private String status;

    /**
     *
     */
    private String reason;

    /**
     *
     */
    private Timestamp createTime;

    /**
     *
     */
    private Date updateTime;

    /**
     * 代取状态（0：没点击过代取，1：点击过代取）
     */
    private Integer replacementState;

    /**
     * 存柜状态（0：没点击过存柜，1：点击过存柜）
     */
    private Integer cupboardState;

    /**
     * 扫码状态0：没扫描过二维码，1：扫描过二维码
     */
    private Integer scannedStatus;

    /**
     * 商户号
     */
    private String merchantId;

    /**
     * 预支付交易会话标识
     */
    private String prepayId;

    /**
     * 优惠券ID
     */
    private Long clientCouponId;

    /**
     * 订单总额-优惠前
     */
    @Schema(description = "订单总额-优惠前")
    private BigDecimal totalPrice;

    /**
     * 商品优惠的金额
     * 设备价格 - 小程序价格
     */
    @Schema(description = "商品优惠的金额")
    private BigDecimal appDiscountMoney;

    /**
     * 优惠券优惠的金额
     */
    @Schema(description = "优惠券优惠的金额")
    private BigDecimal couponDiscountMoney;

    @Schema(description = "企业订单编号")
    private String enterpriseOrderSn;

    /**
     * 商品类型:[1实体类型、2虚拟类型]
     */
    @Schema(title = "商品类型:[1实体类型、2虚拟类型]")
    private Integer goodsType;

    @Schema(title = "城市名称")
    private String cityName;

    @Schema(title = "微信union_id")
    private String unionId;

    /**
     * 赠送消费金
     */
    private BigDecimal giftGold;

    @TableField(exist = false)
    private static final long serialVersionUID = 1674906992658917289L;
}